package com.myjob.controller;

import com.myjob.entity.Enums;
import com.myjob.enums.JobEnums;
import com.myjob.enums.UserEnums;
import com.myjob.response.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Chen Yuan
 * @create 2021-02-05  16:47
 */
@RestController
@Slf4j
@RequestMapping("/jobs")
public class EnumsController {

	@GetMapping("/educationLevel")
	public Result getEducationLevel(){
		JobEnums.EDUCATION_LEVEL[] values = JobEnums.EDUCATION_LEVEL.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (JobEnums.EDUCATION_LEVEL value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"教育水平");
	}

	@GetMapping("/huntingStatus")
	public Result getHuntingStatus(){
		JobEnums.HUNTING_STATUS[] values = JobEnums.HUNTING_STATUS.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (JobEnums.HUNTING_STATUS value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"当前求职信息状态");
	}

	@GetMapping("/salaryUnit")
	public Result getSalaryUnit(){
		JobEnums.SALARY_UNIT[] values = JobEnums.SALARY_UNIT.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (JobEnums.SALARY_UNIT value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"工资的单位");
	}

	@GetMapping("/jobType")
	public Result getJobType(){
		JobEnums.JOB_TYPE[] values = JobEnums.JOB_TYPE.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (JobEnums.JOB_TYPE value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"工作类别");
	}

	@GetMapping("/experience")
	public Result getExperience(){
		JobEnums.EXPERIENCE[] values = JobEnums.EXPERIENCE.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (JobEnums.EXPERIENCE value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"工作经验");
	}

	@GetMapping("/jobStatus")
	public Result getJobStatus(){
		JobEnums.JOB_STATUS[] values = JobEnums.JOB_STATUS.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (JobEnums.JOB_STATUS value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"工作招聘状态");
	}


	@GetMapping("/skillDegree")
	public Result getSkillDegree(HttpServletResponse response){
		response.addHeader("Access-Control-Allow-Origin", "*");
		UserEnums.SKILL_DEGREE[] values = UserEnums.SKILL_DEGREE.values();

		List<Enums> enumsValues = new ArrayList<>(values.length);

		for (UserEnums.SKILL_DEGREE value : values) {
			Enums enums = new Enums();
			enums.setKey(value.getKey());
			enums.setValue(value.getValue());
			enumsValues.add(enums);
		}
		return Result.succeed(enumsValues,"技能掌握程度");
	}
}
